<!DOCTYPE html>
<html lang="zh-CN">

<!-- Head tag -->
<head>

  <link href="/css/font-awesome.min.css" rel="stylesheet">
  <link rel="stylesheet" href="/css/style.css" type="text/css" />
  <link rel="stylesheet" href="/css/main.css" type="text/css" />
  
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="referrer" content="no-referrer-when-downgrade">
  
  <meta name="baidu-site-verification" content="p7Pz3jlx4t" />
  <meta name="google-site-verification" content="1" />
  <meta name="msvalidate.01" content="1" />
  <meta name="360-site-verification" content="1" />
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <!-- if page has tags, then add tags to keyword -->
  
  
  <meta name="keywords" content="邓子琦,邓子琦的博客,邓子琦的小站,自动化办公,小工具,">
  <!-- page.description has higher priority -->
  <meta name="description" content="邓子琦的个人主页，致力于一切关于数据的知识分享">
  <link rel="shortcut icon" href="/img/icon.png">
  
  <title>
    
    [自动化办公]优雅地给文件批量重命名(软件Renamer) | 邓子琦|个人主页
    
  </title>

  <link rel="canonical" href="http://81.80.203.121/post/d6SFwgFD2RXQwu3S.html">
  
<link rel="stylesheet" href="/css/geektutu.css">

  <!-- global function -->
  <script>
    window.globalAddScript = function (url, onload, onerror) {
      var s = document.createElement('script');
      s.src = url;
      onload && (s.onload = onload);
      onerror && (s.onerror = onerror);
      document.body.appendChild(s);
    }
    window.globalAddCss = function (url) {
      var s = document.createElement('link');
      s.rel = 'stylesheet';
      s.href = url;
      document.body.appendChild(s);
    }
    window.getPosition = function (ele) {
      var x = 0, y = 0;
      while (ele) {
        x += (ele.offsetLeft - ele.scrollLeft + ele.clientLeft);
        y += (ele.offsetTop - ele.scrollTop + ele.clientTop);
        ele = ele.offsetParent;
      }
      return { x: x, y: y };
    }
    window.getDom = function (str) { return document.querySelector(str) }
  </script>
  <!-- google ad -->
  
  <script>
    window.addEventListener('load', function () {
      globalAddScript("https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js", "", function (e) {
        if (window.localStorage.getItem('gkt_marker')) {
          var rec = document.querySelector('.gkt-rec-links');
          rec && (rec.style.display = 'none');
        }
      });
    });
    (adsbygoogle = window.adsbygoogle || []).push({
      google_ad_client: "ca-pub-939225546",
      enable_page_level_ads: true
    });
  </script>
  

<meta name="generator" content="Hexo 5.4.0"><link rel="alternate" href="/feed.xml" title="邓子琦|个人主页" type="application/rss+xml">
</head>

<body>
    
<header class="gkt-header col-xs-12 padding-0">
    <div id="gkt-nav" class="gkt-header-container">
        <a href="/" class="gkt-header-title float-left">
            <img class="float-left" src="/img/icon.png" alt="">
            <span>邓子琦|个人主页</span>
        </a>
        

        <nav class="gkt-header-nav text-right">
            <ul>
                <!-- <li>                
                    <div class="search d6 float-middle hidden-xs hides-sm ">
                        <form >
                          <input type="text" style="color:white"  placeholder="搜索从这里开始...">
                          <button  type="submit" style="color:white" ></button>
                        </form>
                      </div>
                </li> -->
                <li><div class="toggle popup-trigger">
                    <i class="fa fa-search fa-fw fa-lg" style="color:white"></i>
                  </div></li>
                  <script type="text/javascript" src="/js/local-search.js"></script>
                <li><a class="hidden-xs" href="/feed.xml">订阅</a></li>
                <li><a href="/series/">专题</a></li>
                <li><a href="/archives/">归档</a></li>
                <li><a href="/post/link.html">友链</a></li>
                <li><a href="/post/about.html">关于</a></li>
            </ul>
        </nav>
    </div>
    <div id="gkt-cate-nav" class="gkt-header-container hidden-xs">
        
        <nav class="gkt-header-nav float-left">
            <ul>
                
                
                <li class="gkt-cate-name float-left ">
                    <a class="float-left" href="/post/ZnXk6O25yb6t6OK2.html">自学方法论</a>
                    
                </li>
                
                <li class="gkt-cate-name float-left active">
                    <a class="float-left" href="/post/d6SFwgFD2RXQwu3S.html">自动化办公</a>
                    
                </li>
                
            </ul>
        </nav>
    </div>
</header>
<div class="gkt-header-placeholder" style="height: 44px"></div>
<div class="gkt-header-placeholder hidden-xs" style="height: 44px"></div>
<script>
    (function () {
        window.addEventListener('scroll', function () {
            if (window.innerWidth < 768) {
                return;
            }
            var nav = document.querySelector('#gkt-nav');
            var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
            scrollTop > 50 && (nav.classList.add('hide'));
            scrollTop <= 50 && (nav.classList.remove('hide'));
        });
        var cateNavs = document.querySelectorAll('#gkt-cate-nav>nav>ul>li');
        [].slice.call(cateNavs).forEach(function (item) {
            var sub = item.querySelector('.gkt-sub-cate');
            if (!sub) return;
            item.addEventListener('mouseenter', function (e) { sub.style.display = 'block'; }, false);
            item.addEventListener('mouseleave', function (e) { sub.style.display = 'none'; }, false);
        })
    })();
</script>
<div class="search-pop-overlay" index="999999">
    <div class="popup search-popup" style="background-color: white;">
      <div class="search-header">
        <span class="search-icon">
          <i class="fa fa-search"></i>
        </span>
        <div class="search-input-container">
          <input autocomplete="off" autocapitalize="off" placeholder="搜索..." spellcheck="false" type="search" class="search-input">
        </div>
        <span class="popup-btn-close">
          <i class="fa fa-times-circle"></i>
        </span>
      </div>
      <div id="search-result"><div id="no-result"><i class="fa fa-search fa-5x"></i></div></div>
    </div>
  </div>
    <!-- Main Content -->
    <div class="main-container">
        <!-- Main Content -->
<main class="col-xs-12 padding-0 markdown-it">
    <!-- Post Container -->
    
    
    <!-- Post Content -->
<div class="float-left post-container box-shadow">
    <div class="u-arrow-wrapper hidden-xs">
        
        <a class="float-left" href="/post/ZnXk6O25yb6t6OK2.html"><i class="u-arrow-left"></i></a>
        
        
    </div>
    <article class="col-xs-12">
        <h1> [自动化办公]优雅地给文件批量重命名(软件Renamer) </h1>
        
        
        <div class="hidden-lg hidden-md series_links">
            <p> <strong> 自动化办公系列文章链接：</strong></p>
            <ul>
                
                <li>
                    <a href="/post/d6SFwgFD2RXQwu3S.html">[自动化办公]优雅地给文件批量重命名(软件Renamer)</a>
                    <span class="post-item-date">(Jun 16, 2021)</span>
                </li>
                
            </ul>
        </div>
        
        
        <div class="gkt-article-start"></div>
        <blockquote>
<p>本文推荐一个windows系统下的效率软件——Renamer。文末可获得软件的下载地址。</p>
</blockquote>
<h2 id="需要处理的场景"><a href="#需要处理的场景" class="headerlink" title="需要处理的场景"></a>需要处理的场景</h2><blockquote>
<p>教学秘书发来信息，你们班有些同学的文件名加了 学号 姓名，通知他们全部删掉，6点前提交。</p>
</blockquote>
<p><img src="https://mypic-1302242504.cos.ap-nanjing.myqcloud.com/20210616124424.png" alt="文件名称示例"></p>
<p><strong>现状</strong></p>
<ul>
<li>学号 姓名 1.封面</li>
<li>学号 姓名 2.选题审题表</li>
<li>学号 姓名 3.任务书</li>
</ul>
<p><strong>目标</strong></p>
<ul>
<li>1.封面</li>
<li>2.选题审题表</li>
<li>3.任务书</li>
</ul>
<p>在python里面，这个问题很好处理。</p>
<figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> os</span><br><span class="line"></span><br><span class="line"><span class="keyword">for</span> i <span class="keyword">in</span> os.listdir():</span><br><span class="line">    <span class="comment"># 文件名等于自己的时候不做处理</span></span><br><span class="line">    <span class="keyword">if</span> i == <span class="string">&#x27;hh.py&#x27;</span>:</span><br><span class="line">        <span class="keyword">pass</span></span><br><span class="line">    <span class="keyword">else</span>:</span><br><span class="line">        os.rename(i,i.replace(<span class="string">&quot;P123456789 张三&quot;</span>))</span><br></pre></td></tr></table></figure>

<p>省去了你一个个重命名的麻烦，后面我又想，有没有这样的小工具呢？没有的话我是不是就可以写一个，放到github上收点star呢？</p>
<p>后来还真的找到了一个宝藏——<strong>Renamer</strong>。</p>
<h2 id="效率工具：Renamer"><a href="#效率工具：Renamer" class="headerlink" title="效率工具：Renamer"></a>效率工具：Renamer</h2><p>官方网站：<a target="_blank" rel="noopener" href="http://www.den4b.com/">den4b.com</a></p>
<p><img src="https://mypic-1302242504.cos.ap-nanjing.myqcloud.com/image-20210616133747458.png" alt="官网截图"></p>
<p>这个工具内置了简体中文，英文不好的读者上手也完全没有难度。</p>
<p><img src="https://mypic-1302242504.cos.ap-nanjing.myqcloud.com/image-20210616130032943.png" alt="软件截图"></p>
<p><strong>免费版的Renamer不支持商业用途，而且仅支持添加5条规则，但这也够我们大多数人使用了</strong>。</p>
<p>Renamer支持更多更复杂的规则制定。</p>
<p><img src="https://mypic-1302242504.cos.ap-nanjing.myqcloud.com/image-20210616132054640.png" alt="Renamer 规则面板"></p>
<h2 id="下载地址"><a href="#下载地址" class="headerlink" title="下载地址"></a>下载地址</h2><blockquote>
<p>下载地址在国外，国内可能访问不便，附一个百度网盘链接</p>
</blockquote>
<p>Renamer<a target="_blank" rel="noopener" href="http://www.den4b.com/products/renamer">下载地址</a></p>
<p>Renamer_v7.3百度网盘</p>
<p>链接：<a target="_blank" rel="noopener" href="https://pan.baidu.com/s/1gqqKzj4IfmDrP3134sob7A">https://pan.baidu.com/s/1gqqKzj4IfmDrP3134sob7A</a><br>提取码：410d </p>

        
<script src="/js/qrious.min.js"></script>


        <hr style="margin-top: 2rem;">
        <div>
            
            <p>
                <span>专题: </span>
                
                <a href="/series/#自动化办公">
                    <code key="自动化办公" class="post-label">自动化办公</code>
                </a>
                
            </p>
            
            <p>
                <span>本文发表于 2021-06-16，最后修改于 2021-06-16。</span>
            </p>
            <!-- 文章末尾的提示 start -->
            
            <p>
                本站永久域名「 <a
                        href="/post/d6SFwgFD2RXQwu3S.html">81.80.203.121</a>
                    」，也可搜索「 邓子琦|个人主页 」找到我。
            </p>
            
            
                
            <!-- 文章末尾的提示 end -->
        </div>
        <hr />
        <p name="pagination" style="font-size: 1.2em">
    
    <a class="float-left" href="/post/ZnXk6O25yb6t6OK2.html">上一篇 « [搜商]《超级搜索术》帮你大幅提高搜商</a>
    
    
</p>
    </article>
    <!-- 赞赏 -->
    <!--打赏-->

<style>
    #reward .reward-btn-wrapper {
        width: 100px;
        padding-top: 35px;
        cursor: pointer;
        margin: 0 auto;
    }

    #reward .reward-btn {
        padding: 2px 15px;
        color: #fff;
        background-color: #ea6f5a;
        border-radius: 20px;
    }

    #reward .reward-code {
        position: absolute;
        top: -220px;
        left: 50%;
        display: none;
        width: 360px;
        height: 240px;
        margin-left: -180px;
        padding: 15px 20px;
        border: 1px solid #e6e6e6;
        background: #fff;
        box-shadow: 0 1px 1px 1px #efefef;
    }

    #reward .reward-code:after,
    #reward .reward-code:before {
        position: absolute;
        content: '';
        border: 10px solid transparent
    }

    #reward .reward-code:after {
        bottom: -19px;
        left: 50%;
        margin-left: -10px;
        border-top-color: #fff
    }

    #reward .reward-code:before {
        bottom: -20px;
        left: 50%;
        margin-left: -10px;
        border-top-color: #e6e6e6
    }

    #reward .qr-code {
        width: 50%;
        float: left;
        padding: 5px;
    }

    #reward .qr-code p {
        margin-top: -6px;
    }

    #reward img {
        transform: none;
        -webkit-transform: none;
        margin-left: 0;
    }

    #reward img[alt='i'] {
        width: 20px;
        height: 20px;
        z-index: 2;
        position: absolute;
        margin: 65px 0 0 65px;
    }

    #reward img[alt="ali"] {
        width: 100%;
        box-sizing: border-box;
        border: 5px solid #0f9be0;
    }

    #reward img[alt="wechat"] {
        width: 100%;
        box-sizing: border-box;
        border: 5px solid #3db034;
    }

    #reward .reward-tip {
        font-size: 1.2em;
        margin-bottom: 0;
        color: #ea6f5a;
    }
</style>
<div id="reward" class="col-xs-12">
    <div class="reward-btn-wrapper">
        <div class="reward-btn text-center">赞赏支持</div>
    </div>
    <div class="reward-code text-center">
        <p class="text-center reward-tip"><strong>请我吃胡萝卜 =^_^= </strong></p>
        <div class="qr-code">
            <img src="/img/icon.png" alt="i">
            <img id="reward-ali" src="" alt="ali">
            <p><small>支付宝</small></p>
        </div>
        <div class="qr-code">
            <img src="/img/icon.png" alt="i">
            <img id="reward-wechat" src="" alt="wechat">
            <p><small>微信</small></p>
        </div>
    </div>
</div>
<script>
    (function (window, document) {
        var aliQr = new QRious({ value: 'https://qr.alipay.com/fkx13484fvyoa79ccfl3rff' });
        var wechatQr = new QRious({ value: 'wxp://f2f0PvPJTm-LrLhwbUZ67t4QSyh-R-IO5tW3aicP7RSnfh4=' });
        document.querySelector('#reward-ali').src = aliQr.toDataURL();
        document.querySelector('#reward-wechat').src = wechatQr.toDataURL();

        var rewardBtn = document.querySelector('#reward .reward-btn-wrapper');
        var qrCode = document.querySelector('#reward .reward-code')
        var activeFunc = function (e) {
            qrCode.style.display = 'block';
        }
        var hideFunc = function (e) {
            qrCode.style.display = 'none';
        }

        rewardBtn.addEventListener('mouseenter', activeFunc, false)
        rewardBtn.addEventListener('mouseover', activeFunc, false)
        rewardBtn.addEventListener('mouseleave', hideFunc, false)
        qrCode.addEventListener('mouseenter', activeFunc, false)
        qrCode.addEventListener('mouseover', activeFunc, false)
        qrCode.addEventListener('mouseleave', hideFunc, false)
    })(window, document);
</script>

    
<div class="col-xs-12 text-center" style="margin-top: 30px;">
    
    <a style="display:inline-block;" target="_blank" rel="noopener" href="https://github.com/XiaoMaiBuShuJi" title=""><img style="padding:5px;width:30px;margin-left:0;transform:none;-webkit-transform:none;" src="/img/related_links/github.png" /></a>
    
    <a style="display:inline-block;" target="_blank" rel="noopener" href="https://www.zhihu.com/people/deng-zi-qi-37-9/columns" title=""><img style="padding:5px;width:30px;margin-left:0;transform:none;-webkit-transform:none;" src="/img/related_links/zhihu.png" /></a>
    
    <a style="display:inline-block;" href="mailto:邓子琦&lt;993396365@qq.com&gt;?subject=来自邓子琦的个人主页" title=""><img style="padding:5px;width:30px;margin-left:0;transform:none;-webkit-transform:none;" src="/img/related_links/email.png" /></a>
    
</div>

    <!-- 推荐阅读三篇文章 -->
    <div class="col-xs-12">
        <h3>推荐阅读</h3>
        
        <div class="post-preview">
    <div class="post-img" style="background-image: url('https://mypic-1302242504.cos.ap-nanjing.myqcloud.com/20210616021746.png')"></div>
    <div class="post-info">
        <div class="post-info-center">
            <div class="hidden-xs">
                
                
                <span>/</span>
                
                <a class="text-gray" href="/tags/#自动化办公"
                    title="自动化办公">自动化办公</a>
                <span>/</span>
                
                <a class="text-gray" href="/tags/#小工具"
                    title="小工具">小工具</a>
                <span>/</span>
                
                
            </div>
            <a href="/post/d6SFwgFD2RXQwu3S.html" class="title">
                [自动化办公]优雅地给文件批量重命名(软件Renamer)
            </a>
            <p class="text-gray">
                <small>
                    <span>发表于2021-06-16，</span>
                    <span class="hidden-xs">全文1399字，</span>
                    <span>阅读约5分钟</span>
                </small>
            </p>
        </div>
    </div>
</div>
        
        <div class="post-preview">
    <div class="post-img" style="background-image: url('https://mypic-1302242504.cos.ap-nanjing.myqcloud.com/20210616011611.png')"></div>
    <div class="post-info">
        <div class="post-info-center">
            <div class="hidden-xs">
                
                
                <span>/</span>
                
                <a class="text-gray" href="/tags/#自学方法论"
                    title="自学方法论">自学方法论</a>
                <span>/</span>
                
                <a class="text-gray" href="/tags/#搜商"
                    title="搜商">搜商</a>
                <span>/</span>
                
                <a class="text-gray" href="/tags/#书籍推荐"
                    title="书籍推荐">书籍推荐</a>
                <span>/</span>
                
                <a class="text-gray" href="/tags/#读书笔记"
                    title="读书笔记">读书笔记</a>
                <span>/</span>
                
                
            </div>
            <a href="/post/ZnXk6O25yb6t6OK2.html" class="title">
                [搜商]《超级搜索术》帮你大幅提高搜商
            </a>
            <p class="text-gray">
                <small>
                    <span>发表于2021-06-16，</span>
                    <span class="hidden-xs">全文1017字，</span>
                    <span>阅读约4分钟</span>
                </small>
            </p>
        </div>
    </div>
</div>
        
        <div class="post-preview">
    <div class="post-img" style="background-image: url('https://mypic-1302242504.cos.ap-nanjing.myqcloud.com/20210614195324.png')"></div>
    <div class="post-info">
        <div class="post-info-center">
            <div class="hidden-xs">
                
                
                <span>/</span>
                
                <a class="text-gray" href="/tags/#关于我"
                    title="关于我">关于我</a>
                <span>/</span>
                
                
            </div>
            <a href="/post/about.html" class="title">
                留言板
            </a>
            <p class="text-gray">
                <small>
                    <span>发表于2021-06-12，</span>
                    <span class="hidden-xs">全文651字，</span>
                    <span>阅读约3分钟</span>
                </small>
            </p>
        </div>
    </div>
</div>
        
    </div>
    <div class="col-xs-12">
        <!-- 标签列表 -->
        <!-- Featured Tags -->
<style>
    #featured-tag .post-tag-item {
        font-size: 12px;
        line-height: 30px;
        display: inline-block;
        height: 30px;
        margin: 5px 0px;
        padding: 0 7px;
        color: #333;
        border-radius: 15px;
        background: #f6f6f6;
    }

    #featured-tag .post-tag-item:hover {
        color: #337ab7;
    }
</style>
<div id="featured-tag">
    
    <a class="post-tag-item" href="/tags/#关于我" title="关于我"
        rel="1">#关于我 (1) </a>
    
    <a class="post-tag-item" href="/tags/#友链" title="友链"
        rel="1">#友链 (1) </a>
    
    <a class="post-tag-item" href="/tags/#自学方法论" title="自学方法论"
        rel="1">#自学方法论 (1) </a>
    
    <a class="post-tag-item" href="/tags/#搜商" title="搜商"
        rel="1">#搜商 (1) </a>
    
    <a class="post-tag-item" href="/tags/#书籍推荐" title="书籍推荐"
        rel="1">#书籍推荐 (1) </a>
    
    <a class="post-tag-item" href="/tags/#读书笔记" title="读书笔记"
        rel="1">#读书笔记 (1) </a>
    
    <a class="post-tag-item" href="/tags/#自动化办公" title="自动化办公"
        rel="1">#自动化办公 (1) </a>
    
    <a class="post-tag-item" href="/tags/#小工具" title="小工具"
        rel="1">#小工具 (1) </a>
    
</div>
    </div>
    <!-- 评论 -->
    
    <div class="col-xs-12">
        
<div class="col-xs-12 padding-0">
    <div id="gitalk-container">
        <div class="gt-container text-center" style="margin-top: 50px;">
            <button class="gt-btn gt-btn-public"><span class="gt-btn-text">去 Github 评论</span></button>
        </div>
    </div>
    <div id="gitalk-related"></div>
</div>

<link rel="stylesheet" href="/css/gitalk.css">


<script src="/js/gitalk.min.js"></script>

<script>
    window.addEventListener('load', function () {
        function renderCommentUrl(data) {
            var url = (data[window.location.pathname] || {}).url
            url && getDom('#gitalk-container button').addEventListener('click', function (e) { window.open(url)})
            url || (getDom('#gitalk-container').style.display = 'none')
        }
        const gitalk = new Gitalk({
            clientID: 'e57617c63a8fca3f29c2',
            clientSecret: '5a3bac10a6e873403859cf6f032def08ab42bf8c',
            accessToken: 'xxxx',
            repo: 'realdengziqi.github.io',
            owner: 'realdengziqi',
            admin: ['realdengziqi'],
            id: window.location.pathname,
            distractionFreeMode: false
        });
        fetch("https://api.github.com/user").then(function(resp){
            gitalk.render('gitalk-container');
        }).catch(function(e){
            fetch('/tool/issues.json').then(function (r) { return r.json() }).then(renderCommentUrl).catch(function (e) { })
        })
        getDom('#gitalk-container').addEventListener('click', function (e) {
            e && e.stopPropagation && e.stopPropagation();
        });
    })
</script>
<script>
    window.addEventListener('load', function () {
        function render(comments) {
            var template = '<a href="${comment.url}?utm_source=gitalk" class="dis-item-url"><h3 class="dis-item-title">${comment.title}</h3>' +
                '<p class="dis-item-des">${comment.count} 评论 ● ${comment.date}</p>' +
                '<div class="dis-item-content"><img class="dis-item-img" src="${comment.icon}" alt="icon"><p><b><span class="dis-item-user">${comment.user}</span></b>&nbsp;——&nbsp;${comment.body}</p></div>' +
                '</a>'

            var wrapper = getDom('#gitalk-related');
            comments = shuffle(comments);
            comments.slice(0, 4).forEach(function (c) {
                var div = document.createElement('div');
                div.classList.add('dis-item');
                div.innerHTML = template.replace("${comment.url}", c.url)
                    .replace("${comment.title}", c.title)
                    .replace("${comment.count}", c.count)
                    .replace("${comment.date}", c.date)
                    .replace("${comment.icon}", c.icon)
                    .replace("${comment.user}", c.user)
                    .replace("${comment.body}", c.body)
                wrapper.appendChild(div)
            })
            var p = document.createElement('p')
            p.innerHTML = '<a target="_blank" rel="noopener" href="https://geektutu.com/post/blog-experience-7.html">Gitalk Plus</a>';
            p.classList.add('dis-divide');
            wrapper.appendChild(p);
            wrapper.classList.add('dis-wrapper')
        }
        function shuffle(a) {
            for (var i = a.length - 1; i > 0; i--) {
                var j = Math.floor(Math.random() * (i + 1));
                [a[i], a[j]] = [a[j], a[i]];
            }
            return a;
        }
        fetch('/tool/comments.json').then(function (r) { return r.json() }).then(render).catch(function (e) { })
    })
</script>

    </div>
    
</div>
<aside class="float-left gkt-sidebar hidden-xs hidden-sm">
    <div style="clear: both"></div>
    <div class="gkt-sidebar-wrapper">
        <section class="box-shadow"><style>
    .gkt-summary {
        border: 1px solid #DDDDDD;
        border-radius: 3px;
        padding: 5px;
        width: 100%;
    }


    .gkt-summary nav {
        overflow: hidden;
    }

    .gkt-summary nav a {
        display: inline-block;
        text-align: center;
        color: #333;
        font-size: 12px;
    }

    .gkt-summary nav span {
        display: block;
    }

    .gkt-summary nav .middle {
        border-left: 1px solid #eaecef;
        border-right: 1px solid #eaecef;
    }

    .gkt-summary .number {
        font-weight: bold;
    }

    .gkt-summary .link-list {
        margin-top: 5px;
        margin-bottom: -5px;
        padding-top: 7px;
        border-top: 1px dashed #999;
        display: flex;
    }

    .gkt-summary .link-list a {
        flex: 1;
    }

    .gkt-summary .link-list img {
        width: 25px;
        height: 25px;
    }
</style>

<div class="gkt-summary">
    <nav>
        <a href="/" class="col-xs-4">
            <span class="number">4</span><span>文章</span>
        </a>
        <a href="/series" class="col-xs-4 middle">
            <span class="number">2</span><span>专题</span>
        </a>
        <a href="/tags" class="col-xs-4">
            <span class="number">8</span><span>标签</span>
        </a>
    </nav>

    
    <div class="link-list">
        
        <a target="_blank" rel="noopener" href="https://github.com/XiaoMaiBuShuJi"><img src="/img/related_links/github.png" /></a>
        
        <a target="_blank" rel="noopener" href="https://www.zhihu.com/people/deng-zi-qi-37-9/columns"><img src="/img/related_links/zhihu.png" /></a>
        
        <a href="mailto:邓子琦&lt;993396365@qq.com&gt;?subject=来自邓子琦的个人主页"><img src="/img/related_links/email.png" /></a>
        
    </div>
    
</div></section>
        
        
        <section class="gkt-sidebar-content box-shadow">
            <strong>自动化办公</strong>
            <ul>
                
                <li>
                    <a href="/post/d6SFwgFD2RXQwu3S.html"
                        class="gkt-sidebar-active">[自动化办公]优雅地给文件批量重命名(软件Renamer)</a>
                    
                    <!-- Table of Contents -->
<div id="sidebar-toc">
  <!-- TOC  -->
  
  
  <ol class="toc-nav"><li class="toc-nav-item toc-nav-level-2"><a class="toc-nav-link" href="#%E9%9C%80%E8%A6%81%E5%A4%84%E7%90%86%E7%9A%84%E5%9C%BA%E6%99%AF"><span class="toc-nav-text">需要处理的场景</span></a></li><li class="toc-nav-item toc-nav-level-2"><a class="toc-nav-link" href="#%E6%95%88%E7%8E%87%E5%B7%A5%E5%85%B7%EF%BC%9ARenamer"><span class="toc-nav-text">效率工具：Renamer</span></a></li><li class="toc-nav-item toc-nav-level-2"><a class="toc-nav-link" href="#%E4%B8%8B%E8%BD%BD%E5%9C%B0%E5%9D%80"><span class="toc-nav-text">下载地址</span></a></li></ol>
  
</div>

<script>
  (function () {
    var h2 = document.querySelectorAll('article h2');
    var h3 = document.querySelectorAll('article h3');
    var linkList = document.querySelectorAll('#sidebar-toc a');

    function findLinkElement(name) {
      for (var i = 0; i < linkList.length; i++) {
        var items = linkList[i].href.split('#');
        if (items && items[items.length - 1] === encodeURIComponent(name)) {
          return i;
        }
      }
      return -1;
    }

    function activeLink(titleList) {
      var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
      for (var i = titleList.length - 1; i >= 0; i--) {
        if (scrollTop - titleList[i].offsetTop > 0) {
          var index = findLinkElement(titleList[i].id);
          index != -1 && linkList[index].classList.add('gkt-sidebar-active');
          break;
        }
      }
    }

    window.addEventListener("scroll", function (e) {
      [].slice.call(linkList).forEach(function (link) {
        link.classList.remove('gkt-sidebar-active');
      })
      activeLink(h2);
    })
  })();
</script>
                    
                </li>
                
            </ul>
        </section>
        
        
        <section class="gkt-sidebar-content box-shadow">
            <strong>最近的文章</strong>
            <ul>
                
                <li>
                    <a href="/post/d6SFwgFD2RXQwu3S.html">[自动化办公]优雅地给文件批量重命名(软件Renamer)</a>
                </li>
                
                <li>
                    <a href="/post/ZnXk6O25yb6t6OK2.html">[搜商]《超级搜索术》帮你大幅提高搜商</a>
                </li>
                
                <li>
                    <a href="/post/link.html">友链</a>
                </li>
                
            </ul>
        </section>
        
		<section class="gkt-sidebar-content box-shadow">
		<img class="float-left" src="https://mypic-1302242504.cos.ap-nanjing.myqcloud.com/wxsm2.png">
		</section>
    </div>
</aside>

<script>
    (function () {
        function resizeUArrow() {
            var s = getDom('.u-arrow-wrapper').style
            var pc = getDom('.post-container')
            s.left = getPosition(pc).x + 'px';
            s.width = pc.clientWidth + 'px';
        }
        resizeUArrow()
        window.addEventListener('resize', resizeUArrow);
    })();
</script>

    

<script>
    (function () {
        var ele = getDom('.gkt-sidebar-content')
        if(!ele) return;
        var wrapper = getDom('.gkt-sidebar-wrapper')
        var last = 0
        ele.style.maxHeight = ((window.innerHeight || 798) - 200) + 'px'
        var f = function (e) {
            var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
            var isDown = scrollTop > last;
            var pos = getPosition(ele).y - scrollTop;
            var downLimit = 50;
            var upLimit = -100;
            // uarrow.style.marginTop = scrollTop + 'px';
            isDown && pos <= downLimit && wrapper.classList.add("gkt-sidebar-fixed");
            !isDown && pos > upLimit && wrapper.classList.remove("gkt-sidebar-fixed");
            last = scrollTop
        }
        f()
        window.addEventListener("scroll", f)
    })();
</script>

</main>
    </div>
    <style>
    img#go-top {
        position: fixed;
        bottom: 100px;
        width: 50px;
        cursor: pointer;
        z-index: 9999;
    }
</style>
<img id="go-top" src="/icon/top.png" class="hidden-xs" style="display: none" />
<script>
    (function () {
        var goTop = document.getElementById('go-top');
        var mainContainer = document.querySelector('.main-container');
        
        goTop.addEventListener('click', function () {
            window.scroll(0, 0);
        }, false);
        window.addEventListener('scroll', function () {
            var right = document.body.offsetWidth - mainContainer.getBoundingClientRect().right;
            var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
            goTop.style.right = right + 10 + 'px'
            scrollTop > 700 && (goTop.style.display = "block");
            scrollTop <= 700 && (goTop.style.display = "none");
        });
    })();
</script>
    <style>
    #geektutu-click-img-container {
        position: fixed;
        left: 0;
        top: 0;
        text-align: center;
        width: 100%;
        display: none;
        z-index: 9999;
    }

    #geektutu-click-img-container img {
        object-fit: contain;
        background: #eaecef;
        padding: 15px;
        border-radius: 10px;
        height: auto;
        width: auto;
        vertical-align: middle;
    }
</style>


<div id="geektutu-click-img-container">
    <img src="" alt="Big Image">
</div>

<script>
    (function () {
        var container = document.querySelector('#geektutu-click-img-container')
        var targetImg = container.querySelector('img')
        var imgs = document.querySelectorAll('article img');
        targetImg.addEventListener('click', function (e) {
            container.style.display = 'none';
            e && e.stopPropagation && e.stopPropagation();
        }, false);

        for (var i = 0; i < imgs.length; ++i) {
            var img = imgs[i];
            img.addEventListener('click', (function (src, rate) {
                return function (e) {
                    e && e.stopPropagation && e.stopPropagation();
                    if (window.innerWidth < 980) {
                        return
                    }
                    targetImg.style.height = targetImg.style.width = 'auto';
                    if (window.innerWidth / window.innerHeight > rate) {
                        targetImg.style.height = (window.innerHeight - 20) + 'px';
                    } else {
                        targetImg.style.width = (window.innerWidth - 20) + 'px';
                    }
                    container.style.height = window.innerHeight + 'px'
                    container.style.lineHeight = window.innerHeight + 'px'
                    container.style.display = 'block';
                    targetImg.src = src;
                };
            }(img.src, img.width / img.height)), false)
        }
    })();
</script>
    <!-- Footer -->
    <!-- Footer -->
<style>
    footer {
        width: 100%;
        line-height: 1.5;
        padding: 20px;
    }

    footer a {
        color: #333;
        text-decoration: none;
    }

    .footer-hexo img {
        height: 20px;
        margin-bottom: -5px;
    }

    .footer-hexo a {
        color: #337ab7;
    }
</style>
<footer class="text-center col-xs-12">
    <p>
        <small>© 2021 - 小卖部书记 - </small>
        <small>
            <a target="_blank" rel="nofollow noopener" href="http://beian.miit.gov.cn/">正在备案</a>
        </small>
    </p>
    <p class="footer-hexo">
        <!-- 但若直接使用或修改主题，请务必保留这段声明 -->
        <small>Powered by <a target="_blank" href="https://hexo.io">Hexo</a> | Theme
            <a target="_blank" href="https://geektutu.com">Geektutu</a>
            <a target="_blank" rel="noopener" href="https://github.com/geektutu/hexo-theme-geektutu">
                <img src=""
                    alt="Github Star">
            </a>
        </small>
    </p>
    
    <p>
        <small>
            <span id="busuanzi_container_site_pv">👁<span id="busuanzi_value_site_pv"></span></span> &nbsp;
            <span id="busuanzi_container_page_pv">📚<span id="busuanzi_value_page_pv"></span></span>
        </small>
    </p>
    
    
    <p><small><span id="cnzz_stat_icon_123649"></span></small></p>
    

</footer>


<script>
    window.addEventListener('load', function () {
        globalAddScript('//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js');
    })
</script>

<!-- Baidu Tongji -->

<script>
    window.addEventListener('load', function () {
        var _hmt = _hmt || [];
        globalAddScript('//hm.baidu.com/hm.js?1a0ec33b1aa')
    })
</script>


<script>
    window.addEventListener('load', function () {
        globalAddScript('//s23.cnzz.com/z_stat.php?id=123649&online=2');
    })
</script>



<!-- Global site tag (gtag.js) - Google Analytics -->
<script>
    window.dataLayer = window.dataLayer || [];
    function gtag() { dataLayer.push(arguments); }
    gtag('js', new Date());
    gtag('config', 'UA-141425-1');

    window.addEventListener('load', function () {
        globalAddScript('https://www.googletagmanager.com/gtag/js?id=UA-141425-1');
    });
</script>


    <script>
        // 非本站网址，新开tab页签
        (function () {
            var stopBubble = function (e) {
                e && e.stopPropagation && e.stopPropagation();
            }
            var links = document.querySelectorAll('a');
            [].slice.call(links).forEach(function (item) {
                if (item.href && item.href.indexOf(window.location.host) === -1) {
                    item.target = '_blank'
                }
                // 阻止冒泡，不触发彩蛋。
                item.addEventListener('click', stopBubble, false);
            });
            var article = document.querySelector('article');
            article && article.addEventListener('click', stopBubble, false)
        })();
    </script>
    
<script>
    (function (window, document, undefined) {
        var hearts = [];
        var keywords = ["点个赞", "留个言", "赞赏一下", "邓子琦|个人主页", "81.80.203.121"];
        function randomInt(max) {
            return Math.floor(Math.random() * Math.floor(max));
        }
        window.addEventListener('click', createWord)

        function createWord(e) {
            var d = document.createElement("span");
            d.style.position = 'fixed';
            d.style.zIndex = 9999;
            d.style.color = 'rgb(' + [randomInt(255), randomInt(255), randomInt(255)].join(',') + ')';
            d.innerHTML = keywords[randomInt(keywords.length)];
            d.onselectstart = function () { return false; }

            hearts.push({ el: d, x: e.clientX - 5, y: e.clientY - 5, alpha: 1, scale: 1 });
            document.body.appendChild(d);
        }
        (function gameloop() {
            for (var i = 0; i < hearts.length; i++) {
                heart = hearts[i];
                if (heart.alpha <= 0) {
                    document.body.removeChild(heart.el);
                    hearts.splice(i, 1);
                    continue;
                }
                heart.y -= heart.alpha < 0.5 ? 2 : 1;
                heart.scale += 0.002;
                heart.alpha -= 0.013;
                heart.el.style.transform = 'scale(' + heart.scale + ')';
                heart.el.style.left = heart.x + 'px';
                heart.el.style.top = heart.y + 'px';
            }
            setTimeout(gameloop, 10)
        })();
    })(window, document);
</script>

</body>

</html>